Copyright(C) 1994 Terumasa KODAKA , Takeshi KONO


■Japanese Input Extension Function
               o INT DCh - Function E0~FDh are Japanese input extension function functions.
                 The Japanese input FEP included with MS-DOS hooks INT DCh to add processing for Function E0~FDh.
                 This manual only lists the Japanese input extension function, including the interrupt and function
                 numbers and the meanings of register input and output. For details, see the MS-DOS Programmer's Reference Manual.
                 The following table shows a list of kanji conversion methods for each MS-DOS version.

                 Table List of Kanji conversion methods for each MS-DOS version
                 -------------+----------------+----------------+-----------+--------------------+-------+--------
                 Product name |Kanji conversion|   Driver name  |Device name|Dictionary file name|INT DCh|MS-KANJI
                 (Version)    |     method     |                |           |                    |  API  |   API
                 -------------+----------------+----------------+-----------+--------------------+-------+--------
                 PS98-111     |Selective input |Built-in IO.SYS | −         | −                  | −     | −
                 (1.25)       |                |                |           |                    |       |
                 PS98-121     |Single Kanji    |Built-in IO.SYS | −         | KNJDIC.SYS         | −     | −
                 (2.0)        |                |                |           |                    |       |
                 PS98-122     |Hexadecimal     |Built-in IO.SYS | −         | −                  | −     | −
                 (2.0)        |Phrase          |KNJDIC.DRV      | KNJ       | KNJDIC.SYS         | −     | −
                              |Single phrase   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-123     |Hexadecimal     |IO.SYS built-in | −         | −                  | −     | −
                 (2.0)        |Single phrase   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                              |Multiple phrases|NECREN.DRV      | $REN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-XA121   |Hexadecimal     |IO.SYS built-in | −         | −                  | −     | −
                 (2.0)        |Single phrase   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-XL121   |Hexadecimal     |IO.SYS built-in | −         | −                  | −     | −
                 (2.0)        |Single phrase   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                              |Multiple clauses|NECREN.DRV      | $REN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-125     |Hexadecimal     |Built-in IO.SYS | −         | −                  | −     | −
                 (3.1)        |Phrases         |KNJDIC.DRV      | KNJ       | KNJDIC.SYS         | −     | −
                              |Single clauses  |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-127     |Hexadecimal     |Built-in IO.SYS | −         | −                  | −     | −
                 (3.1)        |Single clauses  |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                              |Multiple clauses|NECREN.DRV      | $REN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-129     |Hexadecimal     |Built-in IO.SYS | −         | −                  | −     | −
                 (3.1)        |Single clause   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                              |Multiple clauses|NECREN.DRV      | $REN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-011     |Hexadecimal     |Built-in IO.SYS | −         | −                  | −     | −
                 (3.1)        |Single clause   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                              |Seq/mult.clauses|NECTIK1.DRV     | $ATC#NEC  | NECDIC.SYS         | ○     | −
                              |       〃       |NECTIK2.DRV     | $ATD#NEC  |                    |       |
                 PS98-XA125   |Hexadecimal     |Built-in IO.SYS | −         | −                  | −     | −
                 (3.1)        |Single clause   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-XL125   |Hexadecimal     |IO.SYS built-in | −         | −                  | −     | −
                 (3.1)        |Single clause   |NECDIC.DRV      | $BUN#NEC  | NECDIC.SYS         | ○     | −
                              |Multiple clauses|NECREN.DRV      | $REN#NEC  | NECDIC.SYS         | ○     | −
                 PS98-LT125   |Hexadecimal     |IO.SYS built-in | −         | −                  | −     | −
                 (3.1)        |Single clause   |NECDIC.DRV      | $BUN#NEC  | ROM dictionary     | ○     | −
                 PS98-HA125   |Hexadecimal     |IO.SYS built-in | −         | −                  | −     | −
                 (3.1)        |Single clause   |NECDIC.DRV      | $BUN#NEC  | ROM dictionary     | ○     | −
                              |AI seq/cont. cls|NECKKJ1.DRV     | MS$KANJI  | ROM Dictionary     | ○     | ○ 
                              |       〃       |NECKKJ2.DRV     | $AID#NEC  |                    |       | 
                 PS98-013     |Hex             |Built-in IO.SYS | −         | −                  | −     | −
                 (3.3)        |AI seq/cont. cls|NECAIK1.DRV     | $AIC#NEC  | NECAI.SYS          | ○     | −
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-015     |Hex             |IO.SYS built-in | −         | −                  | −     | −
                 (3.3A)       |AI seq/cont. cls|NECAIK1.DRV     | $AIC#NEC  | NECAI.SYS          | ○     | −
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-017     |Hex             |IO.SYS built-in | −         | −                  | −     | −
                 (3.3B)       |AI seq/cont. cls|NECAIK1.DRV     | $AIC#NEC  | NECAI.SYS          | ○     | −
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-H1001-x1|Hex             |Built-in IO.SYS | −         | −                  | −     | −
                 (3.3B)       |AI seq/cont. cls|NECAIK1.DRV     | $AIC#NEC  | NECAI.SYS          | ○     | −
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-019     |Hex             |IO.SYS built-in | −         | −                  | −     | −
                 (3.3C)       |AI seq/cont. cls|NECAIK1.DRV     | MS$KANJI  | NECAI.SYS          | ○     | ○
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-H1001-x2|Hex             |Built-in IO.SYS | −         | −                  | −     | −
                 (3.3C)       |AI seq/cont. cls|NECAIK1.DRV     | MS$KANJI  | NECAI.SYS          | ○     | ○
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-1002-x2 |Hex             |Built-in IO.SYS | −         | −                  | −     | −
                 (3.3D)       |AI seq/cont. cls|NECAIK1.DRV     | MS$KANJI  | NECAI.SYS          | ○     | ○
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-1003-x1 |Hex             |Built-in IO.SYS | −         | −                  | −     | −
                 (5.0)        |AI seq/cont. cls|NECAIK1.DRV     | MS$KANJI  | NECAI.SYS          | ○     | ○
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 PS98-1003-x2 |Hex             |Built-in IO.SYS | −         | −                  | −     | −
                 (5.0A)       |AI seq/cont. cls|NECAIK1.DRV     | MS$KANJI  | NECAI.SYS          | ○     | ○
                              |       〃       |NECAIK2.DRV     | $AID#NEC  |                    |       |
                 -------------+----------------+----------------+-----------+--------------------+-------+--------
                * When NECKKJ*.DRV for PS98-HA125 is installed, the display message is "Sequential/multiple phrase conversion",
                  but in reality it is equivalent to AI sequential conversion.
                * AI seq/cont. cls (abbrev) = AI sequential/continuous clauses


INT DCh - Function E0h
Category         Japanese input extension
Name             Open to application
Target           Single phrase, multiple phrases, successive conversion
Input            CL=E0h
                 AX=0000h
Output           AX=Availability of Japanese input function
                   0000h: Japanese input function cannot be used
                   0001h: Japanese input function can be used


INT DCh - Function E1h
Category         Japanese input extension
Name             Prohibit use from application
Target           Single phrase, multiple phrases, successive conversion
Input            CL=E1h
Output           CF=Termination condition
                   1: Abnormal termination
                      AX=Type of error
                         0001h: Japanese input function not open to application
                   0: Normal termination


INT DCh - Function E2h
Category         Japanese input extension
Name             Prohibit/enable Japanese input from keyboard
Target           Single phrase, multiple phrases, successive conversion
Input            CL=E2h
                 AX=Mode setting
                   0000h: Allow Japanese input
                   Other than 0: Prohibits Japanese input
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                     0001h: Japanese input function is not open to the application
                   0: Normal termination


INT DCh - Function E3h
Category         Japanese input extension
Name             Sets the presence or absence of learning function
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=E3h
                 AX=Mode setting
                   0000h: No learning function
                   Other than 0: Learning function
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                   0: Normal termination
                     AX=Pre-setting state
                       0000h: Pre-setting is no learning function
                       0001h: Pre-setting is learning function


INT DCh - Function E4h
Classification   Japanese input extension
Name             Converts romaji string to kana string
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=E4h
                 DS:SI=Start address of buffer where romaji string (0 terminated) is stored
                 ES:DI=Start address of conversion result storage area
                 AX=Number of bytes in conversion result storage area
Output           CF=End condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                   0: Normal termination
                     AX=Number of bytes in conversion result
                     CX=Number of bytes in romaji string where conversion was performed


INT DCh - Function E5h
Classification   Japanese input extension
Name             Converts 1-byte JIS string to full-width string
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=E5h
                 DS:SI=Start address of buffer where 1-byte JIS string (0 terminated) is stored
                 ES:DI=Start address of conversion result storage area
                 AX=Number of bytes in conversion result storage area
                 DX=Conversion type
                   0000h: Converts kana to full-width katakana
                   0001h: Converts kana to full-width hiragana
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                   0: Normal termination
                     AX=Number of bytes of conversion result
                     CX=Number of bytes of 1-byte JIS string converted


INT DCh - Function E6h
Category         Japanese input extension
Name             Converts 1-byte JIS string to 2-byte half-width string (Shift JIS)
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=E6h
                 DS:SI=Start address of buffer where 1-byte code string (0 terminated) is stored
                 ES:DI=Start address of conversion result storage area
                 AX=Number of bytes of conversion result storage area
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                   0: Normal termination
                     AX=Number of bytes of conversion result
                     CX=Number of bytes of converted 1-byte JIS string


INT DCh - Function E7h
Classification   Japanese input extension
Name             Open dictionary
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=E7h
                 DS:SI=Start address of buffer where dictionary file name is stored
                 ES:DI=Start address of buffer for storing previous dictionary information
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                       0003h: Dictionary is already open
                       0004h: Specified dictionary not found
                       0014h: Error occurred while reading disk
                   0: Normal termination


INT DCh - Function E8h
Category         Japanese input extension
Name             Dictionary close
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=E8h
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Error type
                       0001h: Japanese input function is not open to the application
                       0002h: Dictionary is not open
                       0014h: An error occurred while reading the disk
                   0: Normal termination


INT DCh - Function E9h
Category         Japanese input extension
Name             Phrase registration
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=E9h
                 DS:SI=Start address of buffer where reading (0 termination) is stored
                 ES:DI=Start address of buffer where phrase (0 termination) is stored
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Error type
                       0001h: Japanese input function is not open to the application
                       0002h: Dictionary is not open
                       0005h: Reading or phrase is too long
                       0006h: Reading or phrase contains invalid characters
                       0009h: There is no page to register reading
                       0010h: There is no area to register
                       0014h: An error occurred while reading the disk
                   0: Normal termination


INT DCh - Function EAh
Category         Japanese input extension
Name             Delete phrase
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=EAh
                 DS:SI=Start address of buffer where reading (0 termination) is stored
                 ES:DI=Start address of buffer where phrase (0 termination) is stored
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                       0002h: Dictionary is not open
                       0005h: Reading or phrase is too long
                       0006h: The reading or phrase contains an invalid character.
                       0007h: Reading or phrase not found
                       0011h: Cannot delete (word registered in the system)
                       0014h: Disk I/O error occurred
                   0: Normal termination


INT DCh - Function EBh
Classification   Japanese input extension
Name             Learning phrases
Target           Single phrase
Input            CL=EBh
                 DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored
                 DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored
                 ES:DI=Start address of buffer where phrase to be learned (0 terminated) is stored
Output           CF=End condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                       0002h: Dictionary is not open
                       0005h: Reading or phrase is too long
                       0006h: The reading or phrase contains an invalid character
                       0007h: Reading or phrase not found
                       0011h: Learning function not set
                       0014h: An error occurred while reading the disk
                   0: Normal end


INT DCh - Function ECh
Classification   Japanese input extension
Name             Phrase conversion (single phrase conversion: first candidate)
Target           Single phrase
Input            CL=ECh
                 DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored
                 DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored
                 ES:DI=Start address of conversion result storage area (62 bytes)
Output           CF=End condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                       0002h: Dictionary is not open
                       0005h: Reading is too long
                       0006h: Reading contains invalid character
                       0008h: Candidate not found
                       0014h: Error occurred while reading disk
                   0: Normal termination
                     AX=Number of bytes of conversion result


INT DCh - Function EDh
Classification   Japanese input extension
Name             Conversion to phrase (single phrase conversion: next candidate)
Target           Single phrase
Input            CL=EDh
                 DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored¥
                   (Same value as when INT DCh - Function ECh was executed immediately before)
                 DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored¥
                   (Same value as when INT DCh - Function ECh was executed immediately before)
                 ES:DI=Start address of conversion result storage area (62 bytes)
Output           CF=End condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                       0002h: Dictionary is not open
                       0005h: Reading is too long
                       0006h: Reading contains invalid character
                       0008h: Candidate not found
                       0014h: Error occurred while reading disk
                   0: Normal termination
                     AX=Number of bytes of conversion result


INT DCh - Function EEh
Classification   Japanese input extension
Name             Word conversion (single phrase conversion: previous candidate)
Target           Single phrase
Input            CL=EEh
                 DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored¥
                   (Same value as last INT DCh - Function ECh execution)
                 DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored¥
                   (Same value as last INT DCh - Function ECh execution)
                 ES:DI=Start address of conversion result storage area (62 bytes)
Output           CF=End condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                       0002h: Dictionary is not open
                       0005h: Reading is too long
                       0006h: Reading contains invalid character
                       0008h: Candidate not found
                       0014h: Error occurred while reading disk
                   0: Normal termination
                     AX=Number of bytes in the conversion result


INT DCh - Function EFh
Classification   Japanese input extension
Name             Enter Japanese input mode
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=EFh
Output           CF=End condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function not open to application
                       0013h: Japanese input from keyboard prohibited
                   0: Normal termination


INT DCh - Function F0h
Classification   Japanese input extension
Name             Exit from Japanese input mode
Target           Single phrase, multiple phrases, successive conversion
Input            CL=F0h
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to application
                   0: Normal termination


INT DCh - Function F1h
Classification   Japanese input extension
Name             Set Japanese input mode
Target           Single phrase, multiple phrases, successive conversion
Input            CL=F1h
                   AX=Input mode setting data
                     bit 15-9: Unused
                     bit 8: Reserved
                     bit 7: 1=Multiple phrases, 0=Successive conversion (bit 7 supports only successive conversion)
                     bit 6: 1=Radical, 0=Normal
                     bit 5: 1=JIS code, 0=Normal
                     bit 4,3:
                       00b = Full width (Shift JIS)
                       01b = 2-byte half width (Shift JIS)
                       10b = 1 byte JIS
                     bit 2: 1=Hiragana, 0=Katakana
                     bit 1: 1=Kana, 0=Alphanumeric
                     bit 0: 1=Indirect, 0=Direct
Output           CF=End condition
                   1: Abnormal end
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                   0: Normal end
                     AX=Actual set mode


INT DCh - Function F2h
Category         Japanese input extension
Name             Get Japanese input mode
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=F2h
Output           CF=End condition
                   1: Abnormal end
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                   0: Normal end
                     AX=Current mode
                       bit 15-9: Unused
                       bit 8: 1=AI conversion driver, 0=Other conversion driver
                       bit 7: 1=Multiple phrases, 0=Sequential conversion (bit 7 supports only sequential conversion)
                       bit 6: 1=radical, 0=normal
                       bit 5: 1=JIS code, 0=normal
                       bit 4,3:
                         00b = full-width (Shift JIS)
                         01b = 2-byte half-width (Shift JIS)
                         10b = 1-byte JIS
                       bit 2: 1=hiragana, 0=katakana
                       bit 1: 1=kana, 0=alphanumeric
                       bit 0: 1=indirect, 0=direct


INT DCh - Function F3h
Category         Japanese input extension
Name             Convert 2-byte JIS to Shift JIS
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=F3h
                 AX=2-byte JIS code
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                       0006h: Value of the entered code is invalid
                   0: Normal termination
                     AX=Shift JIS code


INT DCh - Function F4h
Category         Japanese input extension
Name             Convert Shift JIS to 2-byte JIS
Target           Single phrase, multiple phrases, sequential conversion
Input            CL=F4h
                 AX=Shift JIS code
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                       0006h: Value of the entered code is invalid
                   0: Normal termination
                     AX=2-byte JIS code


INT DCh - Function F7h
Category         Japanese input extension
Name             Get whether AI Kana-Kanji conversion driver is installed
Target           Multiple phrases, sequential conversion
Input            CL=F7h
                 AX=0000h
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Japanese input function is not open to the application
                       0006h: Value of the entered code is invalid
                   0: Normal termination
                     AX=Result of acquisition
                       0000h: AI Kana-Kanji conversion driver is not installed
                       0001h: AI Kana-Kanji conversion driver is built in


INT DCh - Function F8h
Classification   Japanese input extension
Name             Dictionary look-ahead and sequential conversion
Target           Multiple clauses, sequential conversion
Input            CL=F8h
                   AX=0000h: Initialize look-ahead buffer
                   AX=0001h: Dictionary look-ahead
                   AX=0002h: Reading correction and look-ahead
                   AX=0003h: Dictionary look-ahead and sequential conversion
                   DS:SI=First address of information table
                     ------------+---------------------------------------------------
                     Offset        Content
                     ------------+---------------------------------------------------
                     +00h (WORD)   Address of buffer where reading (1 byte JIS, 0 terminated) is stored
                     +02h (WORD)   Address of buffer where reading (Shift JIS, 0 terminated) is stored
                     +04h (WORD)   First address of conversion result storage area (62 bytes) (when AX=0003h)
                     +06h (WORD)   First address of reading correction (when AX=0002h)
                     +08h (WORD)   First address of reading excluding already converted phrases (1-byte JIS, 0-terminated) (when AX=0003h)
                     +0Ah (WORD)   First address of reading excluding already converted phrases (shift JIS, 0-terminated) (when AX=0003h)
                     +10-3Fh       Information on converted phrases (when AX=0003h)
                     +50-7Fh       Information on converted phrases (when AX=0003h)
                     ------------+---------------------------------------------------
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Sequential/concatenated conversion function not open to application
                       0002h: Dictionary not open
                       0005h: Reading too long
                       0006h: The reading contains an invalid character
                       0014h: An error occurred while reading the disk
                   0: Normal end
                     AX=Number of bytes of the phrase converted sequentially


INT DCh - Function F9h
Category         Japanese input extension
Name             Multi-phrase conversion (first candidate)
Target           Multi-phrase, sequential conversion
Input            CL=F9h
                 AX=Phrase number (0=first phrase)
                 DS:SI=First address of information table
                   ------------+---------------------------------------------------
                   Offset        Content
                   ------------+---------------------------------------------------
                   +00h(WORD)    Address of buffer where reading (1 byte JIS, 0 termination) is stored
                   +02h(WORD)    Address of buffer where reading (Shift JIS, 0 termination) is stored
                   +04h(WORD)    First address of conversion result storage area (132 bytes)
                   +10-3Fh       Information of each phrase (when AX≠0000h)
                   +50 to 7Fh    Information on each phrase (when AX ≠ 0000h)
                   ------------+---------------------------------------------------
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Sequential/concatenated conversion function not open to application
                       0002h: Dictionary not open
                       0005h: Reading too long
                       0006h: Reading contains invalid characters
                       0008h: Candidate not found, or conversion impossible because number of phrases exceeds 16 (or 32)
                   0: Normal termination
                     AX=Number of bytes of converted text


INT DCh - Function FAh
Category         Japanese input extension
Name             Multi-phrase conversion (next candidate)
Target           Multi-phrase, sequential conversion
Input            CL=FAh
                 AX=phrase number (0=first phrase)
                 DS:SI=first address of information table
                   ------------+---------------------------------------------------
                   Offset        Content
                   ------------+---------------------------------------------------
                   +00h(WORD)    Address of buffer where reading (1 byte JIS, 0 terminated) is stored¥
                                   (Same value as when INT DCh - Function F9h was executed immediately before)
                   +02h(WORD)    Address of buffer where reading (shift JIS, 0 terminated) is stored¥
                                   (Same value as when INT DCh - Function F9h was executed immediately before)
                   +04h(WORD)    First address of conversion result storage area (132 bytes)
                   +10-3Fh       Information of each phrase (when AX≠0000h)
                   +50-7Fh       Information on each phrase (when AX ≠ 0000h)
                   ------------+---------------------------------------------------
Output           CF=End condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Sequential/multiple phrase conversion function not open to application
                       0002h: Dictionary not open
                       0006h: Invalid character in reading
                       0008h: Candidate not found
                       0014h: Error occurred while reading disk
                   0: Normal termination
                     AX=Number of bytes of next candidate


INT DCh - Function FBh
Category         Japanese input extension
Name             Multi-phrase conversion (previous candidate)
Target           Multi-phrase/sequential conversion
Input            CL=FBh
                 AX=Phrase number (0=first phrase)
                 DS:SI=First address of information table
                   ------------+---------------------------------------------------
                   Offset        Content
                   ------------+---------------------------------------------------
                   +00h(WORD)    Address of the buffer where the reading
                                   (1 byte JIS, 0 terminated) is stored (same value as when INT DCh - Function F9h was executed immediately before)
                   +02h (WORD)   Address of the buffer where the reading
                                   (Shift JIS, 0 terminated) is stored (same value as when INT DCh - Function F9h was executed immediately before)
                   +04h (WORD)   First address of the conversion result storage area +10-3Fh Information of each clause +50-7Fh Information of each clause
                   ------------+---------------------------------------------------
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: Sequential/concatenated conversion function is not open to the application
                       0002h: Dictionary is not open
                       0006h: Reading contains invalid characters
                       0008h: Candidate not found
                       0014h: An error occurred while reading the disk
                   0: Normal termination
                     AX=Number of bytes of next candidate


INT DCh - Function FCh
Classification   Japanese input extension
Name             Learning (multiple phrases)
Target           Multi-phrase, sequential conversion
Input            CL=FCh
                 AX=phrase number (0=first phrase)
                 DS:SI=first address of information table
                   -----------+---------------------------------------------------
                   Offset       Contents
                   -----------+---------------------------------------------------
                   +00h(WORD)   Address of buffer where reading (1 byte JIS, 0 terminated) is stored
                                  (Same value as when INT DCh - Function F9h was executed immediately before)
                   +02h(WORD)   Address of buffer where reading (shift JIS, 0 terminated) is stored
                                  (Same value as when INT DCh - Function F9h was executed immediately before)
                   +04h(WORD)   First address of conversion result storage area
                   +10-3Fh      Information of each phrase
                   +50-7Fh      Information of each phrase
                   -----------+---------------------------------------------------
Output           CF=Termination condition
                   1: Abnormal termination
                     AX=Type of error
                       0001h: The sequential/multiple-phrase conversion function is not open to the application.
                       0002h: The dictionary is not open.
                       0014h: An error occurred while reading the disk.
                       0015h: A logical error occurred.
                   0: Normal termination.


INT DCh - Function FDh.
Classification   Japanese input extension function.
Name             Setting for read-ahead function availability.
Target           Multi-phrase.
Input            CL=FDh.
                 AX=Mode setting.
                   0000h: No read-ahead function.
                   Other than 0: Read-ahead function available.
Output           CF=End condition.
                   1: Abnormal termination.
                     AX=Type of error.
                       0001h: Multi-phrase conversion function is not open to the application.
                   0: Normal termination.
                     AX=Pre-setting state.
                       0000h: Pre-setting is no read-ahead function.
                       0001h: Pre-setting is read-ahead function available.